﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QLBH.Model.Controller;
using QLBH.DataModel;
using QLBH.ModelInterface;

namespace QLBH.Category.Presenter
{
    public class QLNhanVienPresenter
    {
        public QLNhanVienPresenter()
        {

        }
        public List<IQLNhanVienModel> GetDSNhanVien()
        {
            try
            {
                List<IQLNhanVienModel> nhanviens = new List<IQLNhanVienModel>();
                var item = NhanVienController.GetInstance().GetAll();
                if (item != null)
                {
                    foreach (NHANVIEN k in item)
                    {
                        IQLNhanVienModel model = ModelFactory.ModelFactory.GetQLNhanVienModelInstance();

                        model.InitFromEntity(k);
                        nhanviens.Add(model);
                    }
                }
                return nhanviens;
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
            
        }
        /// <summary>
        /// lay macode cua nhan vien tu ma cua nhan vien
        /// </summary>
        /// <param name="nhanVienId">ma nhan vien</param>
        /// <returns></returns>
        public static string GetNhanVienCode(Guid nhanVienId)
        {
            var item = NhanVienController.GetInstance().GetAll().Where(it => it.NVID == nhanVienId).FirstOrDefault();
            if (item!=null)
            {
                return item.NVCODE;
            }
            return string.Empty;
        }
        /// <summary>
        /// chuyen doi ma code sang ma nhan vien
        /// </summary>
        /// <param name="code">code cua nhan vien</param>
        /// <param name="maNhanVien">ma nhan vien</param>
        /// <param name="isExist">xac dinh khi nao nhan vien da ton tai</param>
        public static Guid GetMaNhanVienFromNhanVienCode(string maCode)
        {
            var item = NhanVienController.GetInstance().GetAll().Where(it => it.NVCODE == maCode).FirstOrDefault();
            if (item != null)
            {
              return  item.NVID;
            }
            return Guid.Empty;
            
           
        }
       
    }
}
